//
// Created by lymk on 2022/2/26.
//

#ifndef SOFTRENDER_ISHADER_H
#define SOFTRENDER_ISHADER_H
#include "../Vertex.h"
#include "../Light/ILight.h"
struct Uniform{
    glm::mat4 model;
    glm::mat4 viewPort;
    glm::mat4 perspective;
    std::vector<Light> lights;
};
class IShader{
public:
    Uniform* uniform;
    virtual VertexOut VertexShader(VertexIn vertexIn) = 0;
    virtual glm::vec4 FragmentShader(VertexOut vertexOut) = 0;
};
#endif //SOFTRENDER_ISHADER_H
